home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / CC_C / 0574.ZIP / SPRINTF.ASM < prev    next >
Assembly Source File  |  1986-11-20  |  553b  |  43 lines

  1. include compiler.inc
  2.  
  3.     ttl    SPRINTF, 1.05, 10-20-86 jwk
  4.  
  5.  
  6. ;formatted output to string
  7.  
  8.     dseg
  9.  
  10.     defptr    strp        ;saves string pointer
  11.  
  12.     cseg
  13.  
  14.     xtfs    <_fmt>
  15.  
  16.     procdef    sprintf, <<sptr, ptr>, <arglst, word>>
  17.     pushreg
  18.  
  19.     ldptr    di, sptr
  20.     svptr    di, strp
  21.  
  22.     mov    ax, offset pc        ;pointer to function
  23.     lea    dx, arglst    ;pointer to first arg
  24.     callit    _fmt, <<dx, preg, ss>, <ax, preg, cs>>
  25.  
  26.     ldptr    di, strp
  27.     xor    al, al
  28.     stosb
  29.     pret
  30.  
  31.     pend    sprintf
  32.  
  33.     statdef    pc, <<chr, byte>>
  34.  
  35.     pushreg
  36.     mov    al, chr
  37.     pci    strp
  38.     pret
  39.  
  40.     iend    pc
  41.  
  42.     finish
  43.